]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
tools/create-toolbox: Allow replacing existing toolbox
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 20 Mar 2023 14:09:25 +0000 (15:09 +0100)
committerMarge Bot <marge-bot@gnome.org>
Tue, 16 May 2023 18:20:42 +0000 (18:20 +0000)
A toolbox created by the script can be used as the base of a pet
container that is manually updated with new dependencies over time
and accumalates additional packages; or it can be used as a deposable
container that is recreated each time the dependencies change.

To make the latter case more convenient, add a --replace option
that deletes an existing toolbox before creating the new one.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>

tools/toolbox/create-toolbox.sh

index 9f098a1406e2d80612c823a03fba06e855045e77..d7ea27b9cca3bcc6614726b5544f1344170423d5 100755 (executable)
@@ -17,6 +17,7 @@ usage() {
                                  default "$DEFAULT_NAME"
          -v, --version=VERSION   Create container for stable version VERSION
                                  (like 44) instead of the main branch
+         -r, --replace           Replace an existing container
          -h, --help              Display this help
 
        EOF
@@ -33,9 +34,10 @@ toolbox_run() {
 
 TEMP=$(getopt \
   --name $(basename $0) \
-  --options 'n:v:h' \
+  --options 'n:v:rh' \
   --longoptions 'name:' \
   --longoptions 'version:' \
+  --longoptions 'replace' \
   --longoptions 'help' \
   -- "$@")
 
@@ -56,6 +58,11 @@ while true; do
       shift 2
     ;;
 
+    -r|--replace)
+      REPLACE=1
+      shift
+    ;;
+
     -h|--help)
       usage
       exit 0
@@ -71,7 +78,9 @@ done
 TAG=${VERSION:-main}
 
 if podman container exists $NAME; then
-  die "Container $NAME" already exists
+  [[ $REPLACE ]] ||
+    die "Container $NAME already exists and --replace was not specified"
+  toolbox rm --force $NAME
 fi
 
 podman pull $TOOLBOX_IMAGE:$TAG